package cn.com.yx.ms.service;


import cn.com.yx.ms.application.web.ApiPager;
import cn.com.yx.ms.application.web.ApiQueryBase;
import cn.com.yx.ms.domain.TestModel;
import cn.com.yx.ms.domain.dbmodel.DevEquStand;
import cn.com.yx.ms.domain.dbmodel.LineStandData;
import cn.com.yx.ms.domain.dbmodel.LineStandInfo;
import cn.com.yx.ms.domain.dbmodel.LinestandMap;
import cn.com.yx.ms.domain.line.DevStandModel;
import cn.yx.framework.view.ApiResult;
import org.springframework.cache.annotation.Cacheable;

import java.util.List;

/**
 * 线路站台资源接口
 */
public interface IStandService {

    // region << 站台设备关联 >>
    /**
     * 根据设备ID获取设备站点关联对象
     * @param equipmentguid
     * @return
     */
    DevStandModel findOne(String equipmentguid);

    /**
     * 设备站台添加
     * @param devStandModel
     * @return
     */
    ApiResult save(DevStandModel devStandModel);
    /**
     * 设备站台添加
     * @param devEquStand
     * @return
     */
    int insert(DevEquStand devEquStand);

    /**
     * 删除设备对应的逻辑站台关系
     * @param equipmentguid
     * @return
     */
    int delete(String equipmentguid);

    /**
     * 判断是否已经存在相同设备下的逻辑站台
     * @param equipmentguid
     * @return
     */
    int exist(String equipmentguid);

    /**
     * 查询设备逻辑站台数据
     * @param apiQueryBase
     * @return
     */
    List<DevStandModel> find(ApiQueryBase apiQueryBase);

    // endregion

    // region << 站台管理 >>
    List<LineStandInfo> findAllStandInfo(ApiQueryBase apiQueryBase);
    // endregion

    /**
     * 获取线路信息
     * @param apiQueryBase
     * @return
     */
    ApiResult findLineinfor(ApiQueryBase apiQueryBase);
}